import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/Users.vue'
import Rights from '../components/power/Rights.vue'
import Roles from '../components/power/Roles.vue'
import Cate from '../components/goods/Cate.vue'
import Params from '../components/goods/Params.vue'


Vue.use(VueRouter)

const routes = [{
    // 路由重定向，默认展示登录组件
    path: '/',
    redirect: '/login'
  },
  {
    path: '/login',
    component: Login
  },
  {
    path: '/home',
    component:Home,
    // 路由重定向，默认展示欢迎组件
    redirect:'/welcome',
    children:[
    {
      path:'/welcome',
      component:Welcome
    },
    {
      path:'/users',
      component:Users

    },
    {
      path:'/rights',
      component:Rights
    },
    {
      path:'/roles',
      component:Roles
    },
    {
      path:'/categories',
      component:Cate
    },
    {
      path:'/params',
      component:Params
    }
    ]

  }
]

const router = new VueRouter({
  routes
})

// 挂载路由导航守卫
// to到哪去，from从哪来，next放行，next（'/login'）强制跳转
router.beforeEach((to,from,next)=>{
  // 用户区登录页，直接放行
  if(to.path==='/login')return next();
  // 从sessionStorage中获取保存的token值
  const tokenStr=window.sessionStorage.getItem("token");
  // 没有token，强制返回登录页
  if(!tokenStr)return next('/login');
  // 有token，放行
  next();

})

export default router